package com.example.mylogin.service;

import com.example.mylogin.entity.SpatialArea;
import com.example.mylogin.pojo.dto.AreaCreateDTO;
import com.example.mylogin.pojo.dto.AreaQueryDTO;

import java.util.List;

public interface SpatialAreaService {
    /**
     * 创建区域
     *
     * @param dto 区域信息
     * @return 区域对象
     */
    SpatialArea createArea(AreaCreateDTO dto);

    /**
     * 查询区域
     *
     * @param query 查询条件
     * @return 区域列表
     */
    List<SpatialArea> findAreasContainingPoint(AreaQueryDTO query);

    /**
     * 查询区域
     *
     * @param query 查询条件
     * @return 区域列表
     */
    List<SpatialArea> findAreasWithinDistance(AreaQueryDTO query);

    /**
     * 计算区域面积
     * @param id 区域的id
     * @return 结果
     */
    Double calculateArea(Long id);
}
